const fp = require('lodash/fp')
const {Maybe,Container} = require('./support')
//练习1
let maybe = Maybe.of([5,6,1])
let ex1 = ()=>{
   return maybe.map(fp.map(fp.add(1)))
}
console.log(ex1())

//练习2
let xs = Container.of(['do','ray','mi','fa','so','la','ti'])
let ex2 = ()=>{
    return xs.map(fp.first)
}
console.log(ex2())

//练习3
let safeProp = fp.curry(function(x,o){
    return Maybe.of(o[x])
})
let user = {id:2,name:'Albert'}
let ex3 = ()=>{
    return safeProp("name",user)
    .map(fp.first)
}
console.log(ex3())

//练习4
// let ex4 = function(n){
//     if(n){
//         return parseInt(n)
//     }
// }
let ex4 = function(n){
    return Maybe.of(n)
    .map(parseInt)
}
console.log(ex4(4.5))